var jsPDF = {
  "API": {
    "events": {},
    "acroformPlugin": {
      "fields": {},
      "xForms": {},
      "acroFormDictionaryRoot": {},
      "printedOut": {},
      "internal": {}
    },
    "addField": function () {},
    "addHTML": function () {},
    "color_spaces": {
      "DEVICE_RGB": {},
      "DEVICE_GRAY": {},
      "DEVICE_CMYK": {},
      "CAL_GREY": {},
      "CAL_RGB": {},
      "LAB": {},
      "ICC_BASED": {},
      "INDEXED": {},
      "PATTERN": {},
      "SEPARATION": {},
      "DEVICE_N": {}
    },
    "decode": {
      "DCT_DECODE": {},
      "FLATE_DECODE": {},
      "LZW_DECODE": {},
      "JPX_DECODE": {},
      "JBIG2_DECODE": {},
      "ASCII85_DECODE": {},
      "ASCII_HEX_DECODE": {},
      "RUN_LENGTH_DECODE": {},
      "CCITT_FAX_DECODE": {}
    },
    "image_compression": {
      "NONE": {},
      "FAST": {},
      "MEDIUM": {},
      "SLOW": {}
    },
    "sHashCode": function () {},
    "isString": function () {},
    "extractInfoFromBase64DataURI": function () {},
    "supportsArrayBuffer": function () {},
    "isArrayBuffer": function () {},
    "isArrayBufferView": function () {},
    "binaryStringToUint8Array": function () {},
    "arrayBufferToBinaryString": function () {},
    "arrayBufferToBase64": function () {},
    "createImageInfo": function () {},
    "addImage": function () {},
    "processJPEG": function () {},
    "processJPG": function () {},
    "annotationPlugin": {
      "annotations": {},
      "f2": function () {},
      "notEmpty": function () {}
    },
    "createAnnotation": function () {},
    "link": function () {},
    "textWithLink": function () {},
    "getTextWidth": function () {},
    "getLineHeight": function () {},
    "autoPrint": function () {},
    "canvas": {
      "getContext": function () {},
      "style": {}
    },
    "setHeaderFunction": function () {},
    "getTextDimensions": function () {},
    "cellAddPage": function () {},
    "cellInitialize": function () {},
    "cell": function () {},
    "arrayMax": function () {},
    "table": function () {},
    "calculateLineHeight": function () {},
    "setTableHeaderRow": function () {},
    "printHeaderRow": function () {},
    "context2d": {
      "pageWrapXEnabled": {},
      "pageWrapYEnabled": {},
      "pageWrapX": {},
      "pageWrapY": {},
      "ctx": {
        "_isStrokeTransparent": {},
        "_strokeOpacity": {},
        "strokeStyle": {},
        "fillStyle": {},
        "_isFillTransparent": {},
        "_fillOpacity": {},
        "font": {},
        "textBaseline": {},
        "textAlign": {},
        "lineWidth": {},
        "lineJoin": {},
        "lineCap": {},
        "_transform": {},
        "globalCompositeOperation": {},
        "globalAlpha": {},
        "_clip_path": {},
        "ignoreClearRect": {},
        "copy": function () {}
      },
      "f2": function () {},
      "fillRect": function () {},
      "strokeRect": function () {},
      "clearRect": function () {},
      "save": function () {},
      "restore": function () {},
      "rect": function () {},
      "beginPath": function () {},
      "closePath": function () {},
      "_getRgba": function () {},
      "setFillStyle": function () {},
      "setStrokeStyle": function () {},
      "fillText": function () {},
      "strokeText": function () {},
      "setFont": function () {},
      "setTextBaseline": function () {},
      "getTextBaseline": function () {},
      "setTextAlign": function () {},
      "getTextAlign": function () {},
      "setLineWidth": function () {},
      "setLineCap": function () {},
      "setLineJoin": function () {},
      "moveTo": function () {},
      "_wrapX": function () {},
      "_wrapY": function () {},
      "transform": function () {},
      "setTransform": function () {},
      "_getTransform": function () {},
      "lastBreak": {},
      "pageBreaks": {},
      "_page": function () {},
      "_gotoPage": function () {},
      "lineTo": function () {},
      "bezierCurveTo": function () {},
      "quadraticCurveTo": function () {},
      "arc": function () {},
      "drawImage": function () {},
      "_matrix_multiply": function () {},
      "_matrix_rotation": function () {},
      "_matrix_decompose": function () {},
      "_matrix_map_point": function () {},
      "_matrix_map_point_obj": function () {},
      "_matrix_map_rect": function () {},
      "_matrix_is_identity": function () {},
      "rotate": function () {},
      "scale": function () {},
      "translate": function () {},
      "stroke": function () {},
      "_stroke": function () {},
      "_isFillTransparent": function () {},
      "_isStrokeTransparent": function () {},
      "fill": function () {},
      "_fill": function () {},
      "pushMask": function () {},
      "clip": function () {},
      "measureText": function () {},
      "_getBaseline": function () {},
      "internal": {
        "rxRgb": {},
        "rxRgba": {},
        "rxTransparent": {},
        "arc": function () {},
        "arc2": function () {},
        "move2": function () {},
        "line2": function () {},
        "createArc": function () {},
        "createSmallArc": function () {},
	"pageSize": {
	  "width": {},
	  "height": {}
	}
      }
    },
    /* Begin of functions added by hand based on:
       https://rawgit.com/MrRio/jsPDF/master/docs/global.html */
    "addPage": function () {},
    "setFontSize": function () {},
    "setFontStyle": function () {},
    "setTextColor": function () {},
    "addFont": function () {},
    "CapJoinStyles": function () {},
    "circle": function () {},
    "ellipse": function () {},
    "getFontList": function () {},
    "lines": function() {},
    "output": function() {},
    "roundedRect": function () {},
    "setDisplayMode": function () {},
    "setDrawColor": function () {},
    "setFillColor": function () {},
    "setPage": function () {},
    "setProperties": function () {},
    "text": function() {},
    "triangle": function () {},
    "viewerPreferences": function () {},
    /* End of functions added by hand */
    "fromHTML": function () {},
    "addJS": function () {},
    "processPNG": function () {},
    "getCharWidthsArray": function () {},
    "getStringUnitWidth": function () {},
    "splitTextToSize": function () {},
    "addSVG": function () {},
    "putTotalPages": function () {},
    "addMetadata": function () {}
  },
  "version": {},
  "adler32cs": {
    "Adler32": {
      "from": function () {},
      "fromUtf8": function () {},
      "fromBuffer": function () {}
    },
    "from": function () {},
    "fromUtf8": function () {},
    "fromBuffer": function () {}
  }
};
jsPDF.adler32cs.Adler32.prototype = {
  "constructor": function () {},
  "update": function () {},
  "updateUtf8": function () {},
  "updateBuffer": function () {},
  "clone": function () {}
};
jsPDF.adler32cs.Adler32.from.prototype = {
  "constructor": function () {},
  "update": function () {},
  "updateUtf8": function () {},
  "updateBuffer": function () {},
  "clone": function () {}
};
jsPDF.adler32cs.Adler32.fromUtf8.prototype = {
  "constructor": function () {},
  "update": function () {},
  "updateUtf8": function () {},
  "updateBuffer": function () {},
  "clone": function () {}
};
jsPDF.adler32cs.Adler32.fromBuffer.prototype = {
  "constructor": function () {},
  "update": function () {},
  "updateUtf8": function () {},
  "updateBuffer": function () {},
  "clone": function () {}
};
